1. Field of the Invention
The present invention relates to a video server (multimedia server) using a computer or the like.
2. Related Art of the Invention
The prior art will be described with reference to drawings. FIG. 2 is a diagram showing an example in which a single entity constitutes a video server as a system. The video server 200 comprises: an interface 210 for interfacing to a storage device 240; a processor 230; a transfer-request acceptance/video-data transfer section 220; and an internal bus for interconnecting them. When a transfer request for video data is accepted from a client, the transfer-request acceptance/video-data transfer section 220 transfers the request to the processor 230 via the internal bus. The processor 230 processes the transfer request, and issues a transfer instruction to the transfer-request acceptance/video-data transfer section 220. In accordance with that instruction, the transfer-request acceptance/video-data transfer section 220 issues a video-data transfer request to the storage-device interface 210, which then retrieves the requested video data from the storage device 240 and transfers it to the transfer-request acceptance/video-data transfer section 220 for transferring to the client over a network.
FIG. 3 is a diagram showing an example in which a plurality of entities constitute a video server as a system. The video server 300 is implemented by a configuration where a server section 310, a computer, and an accelerator section 320, another computer, are interconnected via a network. The server section 310 comprises a transfer-request accepting section 311 and a processor 312 connected together, and a network interface 313 connected to the processor 312. The accelerator section 320 comprises a network interface 321 and a processor 322 connected together, and a storage-device interface 323 and video-data transfer section 324 connected to the processor 322. The storage-device interface 323, which interfaces to a storage device 330, is also connected to the video-data transfer section 324. The transfer-request accepting section 311 transfers a video-data transfer request to the processor 312 which, after processing the request, sends a transfer instruction to the accelerator section 320 via the network interface 313. In the accelerator section 320, the transfer instruction received via the network interface 321 is passed to the processor 322; under the control of the processor 322, the requested video data is transferred from the storage device 330 to the video-data transfer section 324 via the storage-device interface 323.
In this configuration, since data transfer between the server section 310 and the accelerator section 320 is performed via a network, network protocol servicing must be performed in both the server and accelerator processors.
Some bus-connection configurations incorporate a DMA mechanism. In such configurations, the termination of a DMA transfer is processed by an interrupt.
FIG. 5 shows one example of a conventional DMA controlling method. CPU 501, DMA control device 502, and memory 503 are provided in the processor 230 of FIG. 2. In FIG. 5 CPU 501 sets DMA every transfer request for DMA control device 502 on the basis of a video data transfer request received via a network. Thus the storage-device interface 504 reads out video data from the storage device and writes it into the memory 503 and then the read out video data is transferred from the memory 503 to a video data transfer section 505 and further is issued to a network. Next the DMA control device 502 informs the termination of the video data transferring by use of interruption to the CPU 501 after the transferring of the video data for the transfer request is finished. Thus the video data transferring is successively executed until the transfer request from the client is completed.
Processing by interrupts is more effective than processing by polling in reducing the processing time of a control processor for operations occurring at random times. Since large-volume data transfer operations in prior known computers are of random nature, the use of interrupts in DMA transfers has been effective.
The multimedia server of the present invention is capable of handling both video data and ordinary computer-generated text data. Designed for video only, the prior art video servers of the above configurations have been inefficient as multimedia servers.
Because in the configuration of FIG. 2, the transfer-request acceptance/video-data transfer section 220 accepts a request from a client and transfers it via the bus to the server processor, which, after processing the request, sends a transfer instruction to the transfer-request acceptance/video-data transfer section 220, again via the bus. That is, a section for accepting a transfer request from a client and a section for transferring transferred data are incorporated into one unit; therefore, the transfer request must first be transferred to the server processor for processing, and after that, the retrieved data must be transferred to the transferred-data transfer section. Furthermore, the transfer request, the transfer instruction, and the retrieved data are transferred on the same bus.
In this configuration, since the transfer request and transfer instruction are transferred on the same bus, bus usage per transfer is high; this causes the problem that the number of clients that can be serviced becomes limited, since bus usage increases with increasing number of clients issuing transfer requests.
Furthermore, in this configuration, video data that demands real-time transferring and text data that does not are transferred out from the same interface; as a multimedia server that handles text data as well as video data, this also limits the number of clients that can be serviced.
Moreover, in the bus-connection configuration employing a DMA method for the transfer of transfer instructions, the termination of a transfer is notified by an interrupt; in the case of video data transfers, transfer instructions, though not large in volume, are issued frequently and regularly, so that the ratio of the time occupied by interrupt processing is relatively large. This also contributes to limiting the number of clients that can be serviced.
In the configuration of FIG. 3, unlike the configuration of FIG. 2, the transfer request and the transfer instruction are not transferred on the same bus, but since instruction data is transferred via an ordinary network, not via an internal bus, network protocol servicing to implement the transfer of instruction data is performed in both the server and accelerator processors. This involves a larger amount of processing than the processing of a transfer via a bus does, and the number of client requests that can be serviced is limited by the performance limit of the respective processors. Furthermore, in this configuration, ordinary text data, etc. are transferred on the same path as video data, and also, a request from a client is transferred from the same interface that handles video data. As a multimedia server that handles text data as well as video data, this also contributes to limiting the number of clients.